package edu.chl.grupp11.aegas.controller;

import java.io.File;
import java.util.ArrayList;

import edu.chl.grupp11.aegas.model.AbstractMetaTag;
import edu.chl.grupp11.aegas.view.TagView;

public interface ITagController {
	public void addTagView(TagView tv);

	public void clearTagViewList();

	public void deleteTagView(TagView tv);

	public void editTag(File file, AbstractMetaTag tag, String newValue)
			throws UnsupportedOperationException;

	public ArrayList<AbstractMetaTag> extractMetadata(File file);

	public ArrayList<TagView> getTagViews(File file);

	public ArrayList<TagView> getVisibleTagViews();

	public boolean hasTagView(TagView tv);

	public void updateHandlers();
}
